A technology disclosed herein relates to a nonvolatile memory device which uses a flash memory.
In the memory device which uses the flash memory, error correction is essential because of characteristics of the flash memory. Errors are classified into a transient error and a stationary error. The transient error is detected when certain data is read, but not detected next time the same data is read. Such an error occurs in a state where an output can be detected as both “0” and “1” because of a noise or an input near threshold voltage value.
The stationary error is a permanent error always detected, if detected when certain data is read, when the data is read thereafter. Such a stationary error occurs due to a change in threshold voltage value of a transistor which has a floating gate structure for a memory cell of the flash memory. When a threshold voltage value changes, “1” is read even though “0” is stored, or “0” is read even though “1” is stored. A representative cause of such a stationary error is a read disturbance.
The read disturbance changes a threshold value of the transistor. Thus, written data is recognized as a different value when it is read. There are tendencies of a changing direction of the threshold value and recognition easiness of a different value. However, in a so-called multivalue flash memory (in other words, flash memory where each memory cell stores a plurality of bits of information by setting a plurality of threshold voltage values in one memory cell) and the like, both cases where “1” is mistaken for “0” and “0” is mistaken for “1” may equally occur. This is because, in the multivalue flash memory, a hamming distance is 1 between a plurality of bits corresponding to one of a plurality of voltage ranges divided based on a plurality of threshold voltage values and a plurality of bits corresponding to its adjacent voltage range.
JP 2004-326867 A discloses measures to deal with the read disturbance.
Generally, a storage medium using a flash memory, such as a compact flash memory card, an SD memory card, or a solid state drive, includes a controller in a module, and the controller controls a flash memory chip. This controller generally executes error correction. A flash memory chip that has an error correction function therein is also available.
As the flash memory controller (or flash memory chip) executes error correction, how many bits of errors have been corrected is generally unknown to the outside. In this case, an error can be recognized for the first time when error correction becomes impossible.
In data transfer through an interface of the conventional nonvolatile memory device, upon issuance of a read command, data corresponding to the read command is returned as a response. Interfaces that can identify status information of a command execution result before data transfer and after the data transfer are available. In both cases, however, the status information is a result of executing the command in principle. In other words, as a command and a status correspond to each other one to one, for example, the number of statuses to be returned is one with respect to commands of transferring a plurality of sectors.